#ifndef PHYSICS_POLYGON_COLLIDER_H
#define PHYSICS_POLYGON_COLLIDER_H

#include "Common/Common.h"
#include "IPolygonShape.h"
#include "Box2dShape.h"

class b2PolygonShape;

namespace physics {

	class Box2dPolygonShape : public Box2dShape, public IPolygonShape {
	public:

		Box2dPolygonShape( Transform pos, b2PolygonShape* polygonShape );

		virtual Transform GetPos( ) const;
		virtual void SetPos( Transform pos );

		virtual ICollection<Vec2>* GetVertices( ) const;
		virtual void SetVertices( ICollection<Vec2>* vertices );

		virtual const b2Shape* GetBox2dShape( ) const;

		virtual void Accept( const IShapeVisitor* visitor ) const;
	private:
		Transform _pos;
		b2PolygonShape* _polygonShape;
	};
}
#endif
